home *** CD-ROM | disk | FTP | other *** search
/ PC World Interactive 7 / PC World Interactive 7.iso / program / pasprog.EXE / TURKDOS.PAS < prev    next >
Pascal/Delphi Source File  |  1980-01-10  |  28KB  |  1,216 lines

  1. { --- YAKUP ERSÿN GENÇTÜRK TURKDOS SÜRÜM 2.0 (C) 93-94-95 --- }
  2. {$M 8192,0,0}
  3. {$I-}
  4. USES CRT,DOS,STRINGS;
  5. LABEL DONGU,ATLAMA;
  6. TYPE
  7. TCMOS = ARRAY[0..$63] OF BYTE;
  8. RESIMBUF = ARRAY[0..64000] OF BYTE;
  9. REGTIP = RECORD AX,BX,CX,DX,BP,SI,DDI,DS,ES,FLAGS:INTEGER;
  10. END;
  11. CONST
  12. HANGIGUN:ARRAY[0..6] OF STRING[9] = ('Pazar','Pazartesi','Salì','Çarƒamba','Perƒembe','Cuma','Cumartesi');
  13. BR:ARRAY[BOOLEAN] OF STRING[3]=('ON','OFF');
  14. VAR
  15. NUM, INFO, J: BYTE;
  16. I: LONGINT;
  17. CMOS: TCMOS;
  18. F: FILE OF TCMOS;
  19. R:REGTIP;
  20. BK:BOOLEAN;
  21. S2:CHAR;
  22. HAFIZAZ:WORD;
  23. ESKISI,ESKISI2:PROCEDURE;
  24. SAYACI,KORUMA:INTEGER;
  25. XXX,YYY:INTEGER;
  26. SAKLA: ARRAY [1..4000] OF CHAR;
  27. RENKNEYDI,PP,A:INTEGER;
  28. ESKIINT:PROCEDURE;
  29. ENVSAYISI:INTEGER;
  30. KOMBUF:STRING;
  31. HATA:INTEGER;
  32. DIZIN:STRING;
  33. CEVAP:STRING[1];
  34. KOMUT:STRING;
  35. SAAT1,DAKIKA,SANIYE,SALISE:WORD;
  36. AY,YIL,GUN,X:WORD;
  37. TIP:STRING;
  38. XAC,YAC:INTEGER;
  39. REGS:REGISTERS;
  40.  
  41. FUNCTION SURUCUBUL:CHAR;ASSEMBLER;
  42. ASM
  43. MOV AH,19H
  44. INT 21H
  45. ADD AL,'A'
  46. END;
  47.  
  48. PROCEDURE SIL;
  49. BEGIN
  50. CLRSCR;
  51. WRITELN;
  52. HATA:=1;
  53. END;
  54.  
  55. PROCEDURE KARTNE; {EKRAN KARTININ NE OLDUGUNU ANLAMAK ICIN}
  56. BEGIN
  57. IF MEM[$B800:0]=$20 THEN TIP:='Renkli';
  58. IF MEM[$B000:0]=$20 THEN TIP:='Monokrom';
  59. END;
  60.  
  61. PROCEDURE TARIHNE;
  62. BEGIN
  63. GETDATE(YIL,AY,GUN,X);
  64. END;
  65.  
  66. PROCEDURE SAATKAC;     {SAAT ICIN PROSEDURU}
  67. BEGIN
  68. GETTIME(SAAT1,DAKIKA,SANIYE,SALISE);
  69. END;
  70.  
  71. PROCEDURE SIYAHZ;      {SIYAH ZEMIN ICIN  TANIM}
  72. BEGIN
  73. TEXTBACKGROUND(BLACK);
  74. END;
  75.  
  76. PROCEDURE BEYAZZ;      {BEYAZ ZEMIN ICIN  TANIM}
  77. BEGIN
  78. TEXTBACKGROUND(WHITE);
  79. END;
  80.  
  81. PROCEDURE SARI; {SARI RENK ICIN TANIM}
  82. BEGIN
  83. TEXTCOLOR(YELLOW);
  84. END;
  85.  
  86. PROCEDURE SIYAH; {SIYAH RENK ICIN TANIM}
  87. BEGIN
  88. TEXTCOLOR(BLACK);
  89. END;
  90.  
  91. PROCEDURE KIRMIZI; {KIRMIZI RENK ICIN TANIM}
  92. BEGIN
  93. TEXTCOLOR(RED);
  94. END;
  95.  
  96. PROCEDURE MAVI; {MAVI RENK ICIN TANIM}
  97. BEGIN
  98. TEXTCOLOR(BLUE);
  99. END;
  100.  
  101. PROCEDURE YESIL; {YESIL RENK ICIN TANIM}
  102. BEGIN
  103. TEXTCOLOR(GREEN);
  104. END;
  105.  
  106. PROCEDURE BEYAZ; {BEYAZ RENK ICIN TANIM}
  107. BEGIN
  108. TEXTCOLOR(WHITE);
  109. END;
  110.  
  111. PROCEDURE HATA_KONTROL;
  112. BEGIN
  113. IF KOMUT='' THEN EXIT;
  114. IF HATA<>1 THEN BEGIN
  115. YESIL;
  116. SOUND(100);DELAY(70);NOSOUND;
  117. WRITELN('Yanl샠komut.');
  118. SARI;
  119. END;
  120. IF HATA=1 THEN HATA:=0
  121. END;
  122.  
  123. PROCEDURE HAFIZAZZ;
  124. BEGIN
  125. REGS.AH:=$88;
  126. INTR($15,REGS);
  127. HAFIZAZ:=REGS.AX;
  128. END;
  129.  
  130. PROCEDURE SISTEM_NE; {BILGISAYARIN OZELLIKLERI HAKKINDA PROSEDUR}
  131. BEGIN
  132. SAATKAC;
  133. TARIHNE;
  134. HAFIZAZZ;
  135. SIYAHZ;
  136. BEYAZ;
  137. WRITELN('Sistem Bilgisi :');
  138. WRITELN;
  139. IF TIP='' THEN TIP:='Bilinmiyor';
  140. KIRMIZI;WRITE('Kullanìlabilir bellek miktarì     : ');SARI;WRITELN(memavail,' byte.');
  141. KIRMIZI;WRITE('En büyük serbest blok             : ');SARI;WRITELN(MAXAVAIL,' byte.');
  142. KIRMIZI;WRITE('Üst hafìza miktarì                : ');SARI;WRITELN(HAFIZAZ,'   kbyte.');
  143. KIRMIZI;WRITE('Ms-Dos versiyonu                  : ');SARI;WRITELN(LO(DOSVERSION),'.',HI(DOSVERSION));
  144. KIRMIZI;WRITE('Kullanìmda olan diskteki boƒ yer  : ');SARI;WRITELN(DISKFREE(0),' bayt.');
  145. KIRMIZI;WRITE('Kullanìmda olan diskin kapasitesi : ');SARI;WRITELN(DISKSIZE(0),' bayt.');
  146. KIRMIZI;WRITE('₧u anda saat                      : ');SARI;WRITELN(SAAT1,':',DAKIKA,':',SANIYE);
  147. KIRMIZI;WRITE('₧u anda tarih                     : ');SARI;WRITELN(GUN,'/',AY,'/',YIL,'-',HANGIGUN[X]);
  148. KIRMIZI;WRITE('Ekran kartì                       : ');SARI;WRITELN(TIP);
  149. KIRMIZI;WRITE('Çalìƒìlan programìn adì           : ');SARI;WRITELN(PARAMSTR(0));
  150. WRITELN;
  151. HATA:=1;
  152. END;
  153.  
  154. PROCEDURE SISTEM_NE2; {BILGISAYARIN AYRINTILI OZELLIKLERI HAKKINDA PROSEDUR  2 }
  155. VAR
  156. MAKINATIPI,SURUCU_SAYILARI,ADRES,ADRESS,PRINTER,SERIPORT,MATEMATIK:INTEGER;
  157. MTIP,VARMIDIR:STRING;
  158. BEGIN
  159. MAKINATIPI:=MEM[$F000:$FFFE];
  160. CASE MAKINATIPI OF
  161. $FF:MTIP:=('PC ');
  162. $FE:MTIP:=('XT Veya taƒìnabilir');
  163. $FD:MTIP:=('PC Junior ');
  164. $FC:MTIP:=('AT ');
  165. $FB:MTIP:=('XT ');
  166. END;
  167. ADRES:=MEMW[0:1040];
  168. ADRESS:=(ADRES DIV 2);
  169. PRINTER:=(ADRESS AND 24576) DIV 8192;
  170. SERIPORT:=(ADRES AND 3584) DIV 512;
  171. MATEMATIK:=(ADRES AND 2);
  172. CASE MATEMATIK OF
  173. 0:VARMIDIR:= ('Yok');
  174. 1:VARMIDIR:= ('Var');
  175. END;
  176. SURUCU_SAYILARI:=(ADRES AND 192) DIV 64 +1;
  177. SAATKAC;
  178. TARIHNE;
  179. GETDIR(0,DIZIN);
  180. HAFIZAZZ;
  181. SIYAHZ;
  182. BEYAZ;
  183. WRITELN('Sistem Bilgisi :');
  184. WRITELN;
  185. IF TIP='' THEN TIP:='Bilinmiyor';
  186. KIRMIZI;WRITE('Kullanìlabilir bellek miktarì     : ');SARI;WRITELN(memavail,' byte.');
  187. KIRMIZI;WRITE('En büyük serbest blok             : ');SARI;WRITELN(MAXAVAIL,' byte.');
  188. KIRMIZI;WRITE('Üst hafìza miktarì                : ');SARI;WRITELN(HAFIZAZ,'   kbyte.');
  189. KIRMIZI;WRITE('Ms-Dos versiyonu                  : ');SARI;WRITELN(LO(DOSVERSION),'.',HI(DOSVERSION));
  190. KIRMIZI;WRITE('Kullanìmda olan diskteki boƒ yer  : ');SARI;WRITELN(DISKFREE(0),' bayt.');
  191. KIRMIZI;WRITE('Kullanìmda olan diskin kapasitesi : ');SARI;WRITELN(DISKSIZE(0),' bayt.');
  192. KIRMIZI;WRITE('₧u anda saat                      : ');SARI;WRITELN(SAAT1,':',DAKIKA,':',SANIYE);
  193. KIRMIZI;WRITE('₧u anda tarih                     : ');SARI;WRITELN(GUN,'/',AY,'/',YIL,'-',HANGIGUN[X]);
  194. KIRMIZI;WRITE('Ekran kartì                       : ');SARI;WRITELN(TIP);
  195. KIRMIZI;WRITE('Çalìƒìlan programìn adì           : ');SARI;WRITELN(PARAMSTR(0));
  196. KIRMIZI;WRITE('Printer portu sayìsì              : ');SARI;WRITELN(PRINTER,' adet.');
  197. KIRMIZI;WRITE('Seri port sayìsì                  : ');SARI;WRITELN(SERIPORT,' adet.');
  198. KIRMIZI;WRITE('Matematik iƒlemci                 : ');SARI;WRITELN(VARMIDIR);
  199. KIRMIZI;WRITE('Sürücü sayìsì                     : ');SARI;WRITELN(SURUCU_SAYILARI,' adet.');
  200. KIRMIZI;WRITE('Makina tipi                       : ');SARI;WRITELN(MTIP,' tipinde.');
  201. KIRMIZI;WRITE('₧u anda çalìƒtìºìnìz dizin        : ');SARI;WRITELN(DIZIN);
  202. WRITELN;
  203. HATA:=1;
  204. END;
  205.  
  206. PROCEDURE  HAFIZA;
  207. BEGIN
  208. BEYAZ;
  209. KIRMIZI;WRITE('Kullanìlabilir bellek miktarì     : ');SARI;WRITELN(memavail,' byte.');
  210. KIRMIZI;WRITE('En büyük serbest blok             : ');SARI;WRITELN(MAXAVAIL,' byte.');
  211. HATA:=1;
  212. END;
  213.  
  214. PROCEDURE ENV;
  215. BEGIN
  216. HIGHVIDEO;
  217. MAVI;
  218. FOR ENVSAYISI := 1 TO ENVCOUNT DO
  219. WRITELN(ENVSTR(ENVSAYISI));
  220. LOWVIDEO;
  221. SARI;
  222. HATA:=1;
  223. END;
  224.  
  225. FUNCTION TUS:INTEGER;
  226. BEGIN
  227. REGS.AH:=$02;
  228. INTR($16,REGS);
  229. TUS:=REGS.AL;
  230. END;
  231.  
  232. PROCEDURE SAAT;{USTTE DURAN SAAT ICIN PROSEDUR.}
  233. BEGIN
  234. XAC:=WHEREX;YAC:=WHEREY; {KURSOR POZISYONUNU  SAKLA}
  235. GETTIME(SAAT1,DAKIKA,SANIYE,SALISE);
  236. SIYAH;
  237. BEYAZZ;
  238. WINDOW(1,1,80,25);
  239. GOTOXY(1,1);
  240. KIRMIZI;
  241. WRITE('[TÜRK-DOS] ');SIYAH;WRITELN('                                                                     ');
  242. MAVI;
  243. IF TUS= 176 THEN
  244. BEGIN
  245. SIYAH;
  246. GOTOXY(18,1);
  247. WRITE('NUM ')
  248. END;
  249. IF TUS= 160 THEN
  250. BEGIN
  251. SIYAH;
  252. GOTOXY(14,1);
  253. WRITE('NUM ');
  254. END;
  255. IF TUS= 192 THEN
  256. BEGIN
  257. SIYAH;
  258. GOTOXY(18,1);
  259. WRITE('CAP ')
  260. END;
  261. IF TUS= 208 THEN
  262. BEGIN
  263. SIYAH;
  264. GOTOXY(18,1);
  265. WRITE('CAP ')
  266. END;
  267. IF TUS= 224 THEN
  268. BEGIN
  269. SIYAH;
  270. GOTOXY(14,1);
  271. WRITE('NUM-CAP');
  272. END;
  273. IF TUS= 240 THEN
  274. BEGIN
  275. SIYAH;
  276. GOTOXY(14,1);
  277. WRITE('NUM-CAP');
  278. END;
  279. GOTOXY(22,1);
  280. MAVI;
  281. WRITE('DÿSK: ');KIRMIZI;WRITE(DISKFREE(0):9);MAVI;WRITE(' byte.');
  282. WRITE('  HAFIZA: ');KIRMIZI;WRITE(MEMAVAIL:7);MAVI;WRITE(' byte.');WRITE(' SAAT: ');KIRMIZI;
  283. WRITE(SAAT1,':',DAKIKA,':',SANIYE);
  284. WINDOW(1,2,80,25);
  285. SIYAHZ;
  286. SARI;
  287. GOTOXY(XAC,YAC);
  288. END;
  289.  
  290. PROCEDURE ETI;
  291. VAR
  292. ETIKET:SEARCHREC;
  293. BEGIN
  294. FINDFIRST('*.*',VOLUMEID,ETIKET);
  295. WHILE POS(' ',ETIKET.NAME) > 0 do
  296. ETIKET.NAME[POS(' ', ETIKET.NAME)] := '0';
  297. IF DOSERROR = 0 THEN
  298. BEGIN
  299. MAVI;WRITE('Etiket ÿsmi: ');KIRMIZI;WRITELN(ETIKET.NAME);
  300. END;
  301. HATA:=1;
  302. END;
  303.  
  304. PROCEDURE DIR;
  305. VAR
  306. SAYACAB:INTEGER;
  307. DOSYA:SEARCHREC;
  308. NOKTA:INTEGER;
  309. ISIM,UZAN:STRING;
  310. ZAMAN:LONGINT;
  311. ZAMAN2:DATETIME;
  312. BEKLEME:STRING;
  313. BEGIN
  314. SAYACAB:=0;
  315. ETI; {ETIKET PROSEDURUNU ÇALI₧TIR}
  316. GETDIR(0,DIZIN);
  317. MAVI;WRITE('₧u Anki sürücü ve dizin : ');KIRMIZI;WRITELN(DIZIN);
  318. BEYAZ;
  319. FINDFIRST('*.*',DIRECTORY+READONLY+HIDDEN+SYSFILE+ARCHIVE ,DOSYA);
  320. WHILE DOSERROR = 0 DO BEGIN
  321. GETFTIME(DOSYA,ZAMAN);
  322. UNPACKTIME(ZAMAN,ZAMAN2);
  323. NOKTA := POS('.', DOSYA.NAME);
  324. IF NOKTA>1 THEN BEGIN
  325. ISIM := COPY(DOSYA.NAME, 1, NOKTA - 1);
  326. UZAN := COPY(DOSYA.NAME, NOKTA + 1, 3);
  327. END ELSE BEGIN
  328. ISIM := DOSYA.NAME;
  329. UZAN := '';
  330. END;
  331. IF DOSYA.ATTR=8 THEN FINDNEXT(DOSYA);
  332. IF DOSYA.ATTR=16 THEN BEGIN
  333. WRITE(ISIM,' ':9 - LENGTH(ISIM));YESIL;
  334. WRITELN(UZAN,' ':4 - LENGTH(UZAN),' <DIZIN>   ',' ',ZAMAN2.DAY,'/',ZAMAN2.MONTH,'/',ZAMAN2.YEAR);BEYAZ;
  335. END;
  336. IF DOSYA.ATTR<>16 THEN BEGIN
  337. WRITE(ISIM,' ':9 - LENGTH(ISIM));YESIL;
  338. WRITELN(UZAN,' ':4 - LENGTH(UZAN),' ',DOSYA.SIZE:10,' ',ZAMAN2.DAY,'/',ZAMAN2.MONTH,'/',ZAMAN2.YEAR);BEYAZ;
  339. END;
  340. SAYACAB:=SAYACAB+1;
  341. IF SAYACAB=20 THEN BEGIN
  342. WRITELN('--- DEVAM ---');
  343. BEKLEME:=READKEY;
  344. SAYACAB:=0;
  345. END;
  346. FINDNEXT(DOSYA);
  347. END;
  348. KIRMIZI;WRITE('Kullanìmda olan diskteki boƒ yer  : ');SARI;
  349. WRITELN(DISKFREE(0),' bayt.'); {DISKETTEKI BOS YERI VE KAPASITEYI BILDIR.}
  350. KIRMIZI;WRITE('Kullanìmda olan diskin kapasitesi : ');SARI;WRITELN(DISKSIZE(0),' bayt.');
  351. HATA:=1;
  352. TEXTCOLOR(YELLOW);
  353. END;
  354.  
  355. PROCEDURE DIR2;
  356. VAR
  357. SAYACAB:INTEGER;
  358. DOSYA:SEARCHREC;
  359. NOKTA:INTEGER;
  360. ISIM,UZAN:STRING;
  361. ZAMAN:LONGINT;
  362. ZAMAN2:DATETIME;
  363. BEKLEME:STRING;
  364. BEGIN
  365. SAYACAB:=0;
  366. ETI; {ETIKET PROSEDURUNU ÇALI₧TIR}
  367. GETDIR(0,DIZIN);
  368. MAVI;WRITE('₧u Anki sürücü ve dizin : ');KIRMIZI;WRITELN(DIZIN);
  369. BEYAZ;
  370. FINDFIRST('*.*',DIRECTORY+READONLY+HIDDEN+SYSFILE+ARCHIVE ,DOSYA);
  371. WHILE DOSERROR = 0 DO BEGIN
  372. IF DOSYA.ATTR=8 THEN FINDNEXT(DOSYA);
  373. IF DOSYA.ATTR=16 THEN BEGIN
  374. WRITE('[',DOSYA.NAME:8,']',' ');BEYAZ;
  375. END;
  376. IF DOSYA.ATTR<>16 THEN BEGIN
  377. YESIL;WRITE(' ',DOSYA.NAME:8,' ',' ');BEYAZ;
  378. END;
  379. FINDNEXT(DOSYA);
  380. END;
  381. WRITELN;
  382. KIRMIZI;WRITE('Kullanìmda olan diskteki boƒ yer  : ');SARI;
  383. WRITELN(DISKFREE(0),' bayt.'); {DISKETTEKI BOS YERI VE KAPASITEYI BILDIR.}
  384. KIRMIZI;WRITE('Kullanìmda olan diskin kapasitesi : ');SARI;WRITELN(DISKSIZE(0),' bayt.');
  385. HATA:=1;
  386. TEXTCOLOR(YELLOW);
  387. END;
  388.  
  389. PROCEDURE DIR3;
  390. VAR
  391. DOSYA:SEARCHREC;
  392. NOKTA:INTEGER;
  393. ISIM,UZAN:STRING;
  394. ZAMAN:LONGINT;
  395. ZAMAN2:DATETIME;
  396. BEGIN
  397. HATA:=1;
  398. ETI; {ETIKET PROSEDURUNU ÇALI₧TIR}
  399. GETDIR(0,DIZIN);
  400. MAVI;WRITE('₧u Anki sürücü ve dizin : ');KIRMIZI;WRITELN(DIZIN);
  401. BEYAZ;
  402. FINDFIRST('*.*',DIRECTORY+READONLY+HIDDEN+SYSFILE+ARCHIVE ,DOSYA);
  403. WHILE DOSERROR = 0 DO BEGIN
  404. GETFTIME(DOSYA,ZAMAN);
  405. UNPACKTIME(ZAMAN,ZAMAN2);
  406. NOKTA := POS('.', DOSYA.NAME);
  407. IF NOKTA>1 THEN BEGIN
  408. ISIM := COPY(DOSYA.NAME, 1, NOKTA - 1);
  409. UZAN := COPY(DOSYA.NAME, NOKTA + 1, 3);
  410. END ELSE BEGIN
  411. ISIM := DOSYA.NAME;
  412. UZAN := '';
  413. END;
  414. IF DOSYA.ATTR=8 THEN FINDNEXT(DOSYA);
  415. WITH ZAMAN2  DO BEGIN
  416. IF DOSYA.ATTR=16 THEN BEGIN
  417. WRITE(ISIM,' ':9 - LENGTH(ISIM));YESIL;
  418. WRITELN(UZAN,' ':4 - LENGTH(UZAN),' <DIZIN>   ',' ',DAY,'/',MONTH,'/',YEAR);BEYAZ;
  419. END;
  420. IF DOSYA.ATTR<>16 THEN BEGIN
  421. WRITE(ISIM,' ':9 - LENGTH(ISIM));YESIL;
  422. WRITELN(UZAN,' ':4 - LENGTH(UZAN),' ',DOSYA.SIZE:10,' ',DAY,'/',MONTH,'/',YEAR);BEYAZ;
  423. END;
  424. END;
  425. FINDNEXT(DOSYA);
  426. END;
  427. KIRMIZI;WRITE('Kullanìmda olan diskteki boƒ yer  : ');SARI;
  428. WRITELN(DISKFREE(0),' bayt.'); {DISKETTEKI BOS YERI VE KAPASITEYI BILDIR.}
  429. KIRMIZI;WRITE('Kullanìmda olan diskin kapasitesi : ');SARI;WRITELN(DISKSIZE(0),' bayt.');
  430. TEXTCOLOR(YELLOW);
  431. END;
  432.  
  433. PROCEDURE VERSION;
  434. BEGIN
  435. HATA:=1;
  436. TEXTCOLOR(130);
  437. WRITE('TÜRK-DOS ');BEYAZ;WRITELN('V2.0 (C) 1993-94-95 Yakup Ersin Gençtürk ');
  438. WRITELN('Bütün haklarì saklìdìr.  (C) YEG');
  439. SARI;
  440. END;
  441.  
  442. PROCEDURE ASC;
  443. VAR
  444. K:CHAR;
  445. BEGIN
  446. HATA:=1;
  447. A:=0;
  448. BEYAZ;
  449. FOR K:=#33 TO #254 DO BEGIN
  450. A:=A+1;
  451. IF K<#100 THEN BEGIN
  452. WRITE('KARAKTER NO:');YESIL;WRITE(ORD(K):2);BEYAZ;WRITE(' KARAKTER KARSILIGI:');YESIL;WRITE(K:3,'   ');BEYAZ;
  453. END ELSE BEGIN
  454. WRITE('KARAKTER NO:');YESIL;WRITE(ORD(K):2);BEYAZ;WRITE(' KARAKTER KARSILIGI:');YESIL;WRITE(K:3,'  ');BEYAZ;
  455. END;
  456. IF A>43 THEN BEGIN
  457. WRITELN('--- DEVAM ---');
  458. READLN;
  459. A:=0;
  460. END;
  461. END;
  462. SARI;
  463. END;
  464.  
  465. PROCEDURE DIZIND;
  466. VAR
  467. DIZINAL:STRING;
  468. BEGIN
  469. {$I-}
  470. HATA:=1;
  471. YESIL;
  472. WRITE('Hangi dizine geçmek istiyorsunuz : ');READLN(DIZINAL);
  473. CHDIR(DIZINAL);
  474. IF IORESULT <> 0 THEN WRITELN('Hata : ',DIZINAL,' adìnda dizin bulunamadì. ');
  475. END;
  476.  
  477. PROCEDURE DIZINY;
  478. VAR
  479. DIZINAL:STRING;
  480. BEGIN
  481. HATA:=1;
  482. YESIL;
  483. WRITE('Oluƒturulacak dizinin adì ne : ');READLN(DIZINAL);
  484. MKDIR(DIZINAL);
  485. IF IORESULT <> 0 THEN WRITELN('Hata : Disket hatasì dizin oluƒmadì. ');
  486. END;
  487.  
  488. PROCEDURE DIZINS;
  489. VAR
  490. DIZINAL:STRING;
  491. BEGIN
  492. HATA:=1;
  493. YESIL;
  494. WRITE('Hangi dizini silmek istiyorsunuz : ');READLN(DIZINAL);
  495. RMDIR(DIZINAL);
  496. IF IORESULT <> 0 THEN WRITELN('Hata : Dizin boƒ deºil yada ',DIZINAL,' adìnda bir dizin yok. ');
  497. END;
  498.  
  499. PROCEDURE DOSS;
  500. VAR
  501. KOMUT : STRING[127];
  502. DIZINNEDIR:STRING;
  503. BEGIN
  504. HATA:=1;
  505. REPEAT
  506. BEYAZ;
  507. GETDIR(0,DIZINNEDIR);
  508. WRITE('[TÜRK-DOS] ',DIZINNEDIR,'>>');TEXTCOLOR(LIGHTGRAY);
  509. READLN(KOMUT);
  510. IF KOMUT <> '' THEN
  511. BEGIN
  512. SWAPVECTORS;
  513. EXEC(GETENV('COMSPEC'), '/C ' + KOMUT);
  514. SWAPVECTORS;
  515. IF DOSERROR <> 0 THEN
  516. BEGIN;
  517. YESIL;
  518. WRITELN('Hata : COMMAND.COM Bulunamadì.(Comspec deºiƒkenini kontrol edin.)');
  519. END;
  520. END;
  521. UNTIL KOMUT = '';
  522. END;
  523.  
  524. PROCEDURE DOSYACA;
  525. VAR
  526. GGG,GGG2:STRING;
  527. ACDOSYA:PATHSTR;
  528. UZANTI,PARAME:STRING;
  529. KOMUTX:STRING;
  530. BEGIN
  531. IF KOMUT<>'' THEN BEGIN
  532. IF HATA<>1 THEN BEGIN
  533. KOMUTX:=KOMUT;
  534. ACDOSYA:=FSEARCH(KOMUTX,GETENV('PATH'));
  535. IF ACDOSYA='' THEN BEGIN
  536. KOMUTX:=KOMUT+'.COM';
  537. ACDOSYA:=FSEARCH(KOMUTX,GETENV('PATH'));
  538. IF ACDOSYA='' THEN BEGIN
  539. KOMUTX:=KOMUT+'.EXE';
  540. ACDOSYA:=FSEARCH(KOMUTX,GETENV('PATH'));
  541. IF ACDOSYA='' THEN BEGIN
  542. KOMUTX:=KOMUT+'.BAT';
  543. ACDOSYA:=FSEARCH(KOMUT,GETENV('PATH'));
  544. IF ACDOSYA='' THEN BEGIN
  545. EXIT;
  546. END;
  547. END;
  548. END;
  549. END;
  550. YESIL;
  551. HATA:=1;
  552. WRITE('Program adì : ',ACDOSYA);WRITE(' çalìƒtìrìlsìnmì(E/h) :');GGG:=READKEY;WRITELN(GGG);
  553. GGG2 := UpCase(GGG[1]);
  554. IF GGG2 = 'H' THEN EXIT;
  555. WRITE('Parametre girin,parametre yoksa ENTER <-┘ :');READLN(PARAME);
  556. TEXTCOLOR(LIGHTGRAY);
  557. SWAPVECTORS;
  558. EXEC(ACDOSYA,PARAME);
  559. SWAPVECTORS;
  560. IF DOSERROR <> 0 THEN
  561. BEGIN;
  562. YESIL;
  563. WRITELN('Hata : ',ACDOSYA,' adìndaki dosyanìn açìlìƒìnda hata oldu.');
  564. END;
  565. KIRMIZI;
  566. WRITELN('Kullandìºìnìz programìn çìk샠kodu: ',HI(DOSEXITCODE));
  567. YESIL;
  568. IF HI(DOSEXITCODE) =0 THEN WRITELN ('Programdan normal çìkìldì.');
  569. IF HI(DOSEXITCODE) =1 THEN WRITELN ('Programdan CTRL-C ile çìkìldì.');
  570. IF HI(DOSEXITCODE) =2 THEN WRITELN ('Programdan hata ile çìkìldì.');
  571. IF HI(DOSEXITCODE) =3 THEN WRITELN ('Program hafìzada kalìcì.');
  572. SARI;
  573. END;
  574. WRITELN;
  575. END;
  576. HATA:=1;
  577. END;
  578.  
  579. PROCEDURE DOSYAT;
  580. VAR
  581. TDOSYA:STRING;
  582. TDOSYA2:FILE;
  583. CEVAP:CHAR;
  584. BEGIN
  585. YESIL;
  586. WRITE('Hangi Dosyayì diskten silmek istiyorsunuz : ');READLN(TDOSYA);
  587. ASSIGN(TDOSYA2,TDOSYA);
  588. RESET(TDOSYA2);
  589. IF IORESULT<>0 THEN BEGIN
  590. WRITELN('Hata : ',TDOSYA,' adìnda bir dosya bulunamadì.');
  591. HATA:=1;
  592. EXIT;
  593. END;
  594. CLOSE(TDOSYA2);
  595. WRITE('Dosya veya Dosyalarì silmek istediºinizden eminmisiniz (e/H) :');CEVAP:=UPCASE(READKEY);
  596. WRITELN;
  597. IF CEVAP='E' THEN BEGIN
  598. ERASE(TDOSYA2);
  599. IF IORESULT<>0 THEN BEGIN
  600. WRITELN('Hata : Disk hatasì.Dosya silinemedi.');
  601. HATA:=1;
  602. END ELSE
  603. WRITELN(TDOSYA,' adìndaki dosya silindi.');
  604. END;
  605. HATA:=1;
  606. SARI;
  607. END;
  608.  
  609. PROCEDURE ISIMD;
  610. VAR
  611. DDOSYA:FILE;
  612. TDOSYA,TDOSYA2:STRING;
  613. BEGIN
  614. HATA:=1;
  615. YESIL;
  616. WRITE('Hangi Dosyanìn ismini deºiƒtirmek istiyorsunuz : ');SARI;READLN(TDOSYA);
  617. ASSIGN(DDOSYA,TDOSYA);
  618. IF IORESULT<>0 THEN BEGIN
  619. WRITELN('Hata : ',TDOSYA,' adìnda bir dosya bulunamadì.');
  620. EXIT;
  621. HATA:=1;
  622. END;
  623. YESIL;
  624. WRITE('Yeni isminin ne olmasìnì istiyorsunuz : ');SARI;READLN(TDOSYA2);
  625. WRITELN(TDOSYA,' ----» ',TDOSYA2);
  626. RENAME(DDOSYA,TDOSYA2);
  627. IF IORESULT<>0 THEN BEGIN
  628. WRITELN('Hata : Disk hatasì.Dosyanìn ismi deºiƒtirilemedi.');
  629. EXIT;
  630. HATA:=1;
  631. END ELSE WRITELN('Tamam.');
  632. HATA:=1;
  633. END;
  634.  
  635. PROCEDURE GOS;
  636. VAR
  637. YAZI:TEXT;
  638. K:CHAR;
  639. BEKLEME:STRING;
  640. YAZ:STRING;
  641. BEGIN
  642. XXX:=0;
  643. YESIL;
  644. WRITE('ÿçeriºi gösterilecek dosyanìn adì ne : ');READLN(YAZ);
  645. ASSIGN(YAZI,YAZ);
  646. RESET(YAZI);
  647. IF IORESULT<>0 THEN BEGIN
  648. WRITELN('Hata : ',YAZ,' adìnda bir dosya bulunamadì.');
  649. EXIT;
  650. HATA:=1;
  651. END;
  652. BEYAZ;
  653. WHILE NOT EOF(YAZI) DO
  654. BEGIN
  655. READ(YAZI,K);
  656. WRITE(K);
  657. END;
  658. HATA:=1;
  659. END;
  660.  
  661. PROCEDURE SAATX;
  662. BEGIN
  663. GETTIME(SAAT1,DAKIKA,SANIYE,SALISE);
  664. YESIL;
  665. WRITE('₧u anda saat : ');MAVI;WRITELN(SAAT1,':',DAKIKA,':',SANIYE);
  666. HATA:=1;
  667. SARI;
  668. END;
  669.  
  670. PROCEDURE TARIH;
  671. BEGIN
  672. TARIHNE;
  673. YESIL;
  674. WRITE('₧u anda tarih : ');MAVI;WRITELN(GUN,'/',AY,'/',YIL,'-',HANGIGUN[X]);
  675. HATA:=1;
  676. SARI;
  677. END;
  678.  
  679. PROCEDURE TARIHD;
  680. VAR
  681. GUN,AY,YIL:WORD;
  682. BEGIN
  683. TARIH;
  684. YESIL;
  685. WRITE('Yeni günü giriniz :');READLN(GUN);
  686. WRITE('Yeni ayì  giriniz :');READLN(AY);
  687. WRITE('Yeni yìlì giriniz :');READLN(YIL);
  688. SETDATE(YIL,AY,GUN);
  689. END;
  690.  
  691. PROCEDURE SAATD;
  692. VAR
  693. GUN,AY,YIL:WORD;
  694. BEGIN
  695. SAATX;
  696. YESIL;
  697. WRITE('Yeni saati     giriniz :');READLN(SAAT1);
  698. WRITE('Yeni dakikayì  giriniz :');READLN(DAKIKA);
  699. WRITE('Yeni saniyeyi  giriniz :');READLN(SANIYE);
  700. SETTIME(SAAT1,DAKIKA,SANIYE,SANIYE);
  701. END;
  702.  
  703. PROCEDURE KOPYALA;
  704. VAR
  705. K:STRING;
  706. KAYNAK,HEDEF:STRING;
  707. BEGIN
  708. YESIL;
  709. WRITE('Hangi dosya(lar) kopyalanacak : ');SARI;READLN(KAYNAK);
  710. YESIL;
  711. WRITE('Nereye kopyalanacak(lar)      : ');SARI;READLN(HEDEF) ;
  712. BEYAZ;
  713. WRITELN('Lütfen bekleyin DOS copy komutu çalìƒtìrìlìyor...');
  714. SARI;
  715. K:='COPY '+KAYNAK+' '+HEDEF+' /V';
  716. SWAPVECTORS;
  717. SIYAH;
  718. EXEC(GETENV('COMSPEC'), '/C ' + K);
  719. BEYAZ;
  720. WRITELN('Bir tuƒa basìp devam edin...');
  721. K:=READKEY;
  722. SWAPVECTORS;
  723. IF DOSERROR <> 0 THEN
  724. BEGIN;
  725. YESIL;
  726. WRITELN('Hata : COMMAND.COM Bulunamadì.(Comspec deºiƒkenini kontrol edin.)');
  727. END;
  728. HATA:=1;
  729. END;
  730.  
  731. PROCEDURE  SAYIOYUNU;
  732. VAR
  733. SAYIY:INTEGER;
  734. RAST,S2:INTEGER;
  735. MX:INTEGER;
  736. BEGIN
  737. CLRSCR;
  738. MAVI;
  739. WRITE('oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo');
  740. TEXTCOLOR(RED+128);
  741. BEYAZZ;
  742. MX:=0;
  743. WRITE('SAYI-OYUNU ');MAVI;WRITE('(C) 1995 Yakup Ersin Gençtürk ');TEXTCOLOR(GREEN+128);WRITE('TÜRK-DOS');MAVI;
  744. WRITELN(' ÿçin özel sürüm v1.2          ');
  745. SIYAHZ;
  746. YESIL;
  747. WRITE('Rastgele seçileyen sayì enbüyük kaç olabilir (en fazla 4 rakamlì):');SARI;READLN(RAST);
  748. IF RAST>32767 THEN RAST:=32766;
  749. IF IORESULT<>0 THEN EXIT;
  750. SAYIY:=RANDOM(RAST);
  751. HATA:=1;
  752. YESIL;
  753. REPEAT
  754. YESIL;WRITE('Tahmini sayì : ');SARI;READLN(S2);
  755. IF IORESULT<>0 THEN EXIT;
  756. IF S2>SAYIY THEN WRITELN('Tahmini sayì tutulan sayìdan büyük.');
  757. IF S2<SAYIY THEN WRITELN('Tahmini sayì tutulan sayìdan küçük.');
  758. MX:=MX+1;
  759. UNTIL S2=SAYIY;
  760. KIRMIZI;
  761. WRITELN('TEBRÿKLER Gizli sayìyì ',MX,' denemede buldunuz.');
  762. SARI;
  763. END;
  764.  
  765. PROCEDURE KURSAKLA;
  766. BEGIN
  767. XXX:=WHEREX;YYY:=WHEREY;
  768. END;
  769.  
  770. PROCEDURE KURKOY;
  771. BEGIN
  772. GOTOXY(XXX,YYY);
  773. END;
  774.  
  775. PROCEDURE EKRANSAKLA;
  776. BEGIN
  777. MOVE(MEM[$B800:0],SAKLA,4000);
  778. END;
  779.  
  780. PROCEDURE YERINEKOY;
  781. BEGIN
  782. MOVE(SAKLA,MEM[$B800:0],4000);
  783. END;
  784.  
  785. PROCEDURE CIK;  {CIKIS PROCEDURU ICIN YARDIMCI PROCEDURE}
  786. BEGIN;
  787. SETINTVEC(8,@ESKISI);
  788. SETINTVEC(9,@ESKISI2);
  789. KURKOY;
  790. YERINEKOY;
  791. WRITE('TÜRK-DOS ');KIRMIZI;WRITELN('V2.0 Kullandìºìnìz için teƒekkürler.');
  792. TEXTCOLOR(LIGHTGRAY);
  793. WRITELN('    ');
  794. HALT(0);
  795. END;
  796.  
  797. PROCEDURE  CIKIS;
  798. BEGIN;
  799. TEXTCOLOR(130);
  800. WRITE('TÜRK-DOS ');BEYAZ;WRITELN('V2.0`dan çìkmak istediºinizden eminmisiniz ? ');
  801. WRITE('(e/H) : ');READLN(CEVAP);
  802. IF CEVAP='E' THEN  CIK;
  803. IF CEVAP='e' THEN  CIK;
  804. IF CEVAP='H' THEN  BEGIN;HATA:=1;EXIT ;END;
  805. IF CEVAP='h' THEN  BEGIN;HATA:=1;EXIT ;END;
  806. SARI;
  807. HATA:=1;
  808. END;
  809.  
  810. PROCEDURE EKRANKORU2;
  811. BEGIN
  812. EKRANSAKLA;
  813. KURSAKLA;
  814. WINDOW(1,1,80,25);
  815. SIYAH;SIYAHZ;CLRSCR;
  816. WINDOW(1,2,80,25);
  817. KORUMA:=1;
  818. END;
  819.  
  820. PROCEDURE EKRANKORU1;INTERRUPT;
  821. BEGIN
  822. SAYACI:=SAYACI+1;
  823. IF SAYACI>1092 THEN EKRANKORU2;
  824. INLINE($9C);
  825. ESKISI;
  826. END;
  827.  
  828. PROCEDURE EKRANKORU4;
  829. BEGIN
  830. YERINEKOY;
  831. KURKOY;
  832. KORUMA:=0;
  833. END;
  834.  
  835. PROCEDURE EKRANKORU3;INTERRUPT;
  836. BEGIN
  837. IF KORUMA=1 THEN EKRANKORU4;
  838. SAYACI:=1;
  839. INLINE($9C);
  840. ESKISI2;
  841. END;
  842.  
  843. FUNCTION SURUCU(S:CHAR):BOOLEAN;ASSEMBLER;
  844. ASM
  845. MOV DL,S
  846. MOV AH,36H
  847. SUB DL,'A'-1
  848. INT 21H
  849. INC AX
  850. JE @@2
  851. MOV AL,1
  852. @@2:
  853. END;
  854.  
  855. PROCEDURE SURUCUDEG;
  856. VAR
  857. SURUCUK:BYTE;
  858. SUR:CHAR;
  859. BEGIN
  860. YESIL;
  861. S2:=SURUCUBUL;
  862. WRITE('Hangi sürücüye geçmek istiyorsunuz :');SUR:=READKEY;WRITELN(SUR);
  863. SURUCUK:=ORD(SUR)-65;
  864. HATA:=1;
  865. IF ORD(SURUCU(SUR))=0 THEN BEGIN
  866. KIRMIZI;
  867. WRITELN('HATA : Disket bulunamadì.');
  868. SURUCUK:=ORD(S2)-65;
  869. ASM
  870. MOV AH,0EH
  871. MOV DL,SURUCUK
  872. INT 21H
  873. END;
  874. END;
  875. SARI;
  876. ASM
  877. MOV AH,0EH
  878. MOV DL,SURUCUK
  879. INT 21H
  880. END;
  881. END;
  882.  
  883. PROCEDURE CMOSKAYDET;
  884. VAR
  885. SSSSS:STRING;
  886. BEGIN
  887. NUM := 0;
  888. FOR I := 0 TO $63 DO BEGIN
  889. ASM
  890. XOR AX,AX
  891. MOV AL,NUM
  892. OUT 70H,AL
  893. IN AL,71H
  894. MOV INFO,AL
  895. END;
  896. CMOS[NUM]:=INFO;
  897. INC(NUM);
  898. END;
  899. ASSIGN(F, 'TURKDOS.CMS');
  900. REWRITE(F);
  901. WRITE(F, Cmos);
  902. CLOSE(F);
  903. BEYAZ;
  904. GETDIR(0,SSSSS);
  905. WRITELN('CMOS hafìzasì TURKDOS.CMS adì altìnda ',SSSSS,' dizine kaydedildi.');
  906. WRITELN('Geri yüklemek istediºinizde bu dizine geçip öyle yükleyin.');
  907. END;
  908.  
  909. PROCEDURE CMOSDOSYASI;
  910. BEGIN
  911. ASSIGN(F, 'TURKDOS.CMS');
  912. RESET(F);
  913. READ(F,CMOS);
  914. CLOSE(F);
  915. IF IORESULT <> 0 then begin
  916. KIRMIZI;
  917. WRITELN('Hata : CMOS`u yüklemek için önce kaydetmeniz lazìm.');
  918. END
  919. ELSE
  920. FOR J := 0 TO $63 DO BEGIN
  921. INFO := CMOS[j];
  922. ASM
  923. XOR AX,AX
  924. MOV AL,J
  925. OUT 70h,AL
  926. MOV AL,INFO
  927. OUT 71h,AL
  928. END;
  929. END;
  930. END;
  931.  
  932. PROCEDURE CMOSLOAD;
  933. VAR
  934. KLAOKU:STRING;
  935. BEGIN
  936. TEXTCOLOR(WHITE+128);
  937. WRITE('Dikkat');YESIL;WRITELN(' : Bu komut bilgisayarìnìz cmos`unu yüklemenize ve kaydetmenize yarar.');
  938. SARI;
  939. WRITE('         Devam etmek istediºinizden eminmisiniz  (e/H) :');
  940. KLAOKU:=UPCASE(READKEY);
  941. IF KLAOKU='E' THEN BEGIN
  942. SARI;
  943. HATA:=1;
  944. WRITELN;WRITELN;WRITELN;
  945. WRITELN('1 - Cmos hafìzasìnì diske kaydet.');
  946. WRITELN('2 - Cmos hafìzasìnì diskten oku .');
  947. WRITELN;
  948. YESIL;
  949. WRITE('Hangi iƒlemi yapmak istiyorsunuz : ');
  950. KLAOKU:=READKEY;
  951. WRITELN;
  952. IF KLAOKU='1' THEN CMOSKAYDET;
  953. IF KLAOKU='2' THEN CMOSDOSYASI;
  954. END
  955. ELSE
  956. EXIT
  957. END;
  958.  
  959. PROCEDURE HESAPLA;
  960. VAR
  961. ISLEM:STRING;
  962. SAYII1,SAYII2:LONGINT;
  963. BEGIN
  964. HATA:=1;
  965. YESIL;
  966. WRITE('Lütfen hangi iƒlemi yapacaºìnìzì giriniz (+,-,*,/):');ISLEM:=READKEY;
  967. SARI;
  968. IF ISLEM='+' THEN BEGIN
  969. WRITELN(' Toplama');
  970. YESIL;
  971. WRITE('Toplanacak 1.sayìyì giriniz :');SARI;READLN(SAYII1);
  972. YESIL;
  973. WRITE('Toplanacak 2.sayìyì giriniz :');SARI;READLN(SAYII2);
  974. BEYAZ;
  975. WRITE(SAYII1,' ',ISLEM,' ',SAYII2);YESIL;WRITELN(' = ',SAYII1+SAYII2);
  976. END;
  977. IF ISLEM='-' THEN BEGIN
  978. WRITELN(' Çìkarma');
  979. YESIL;
  980. WRITE('Hangi sayìdan çìkaracaksìnìz :');SARI;READLN(SAYII1);
  981. YESIL;
  982. WRITE(SAYII1,' den kaç çìkaracaksìnìz  :');SARI;READLN(SAYII2);
  983. BEYAZ;
  984. WRITE(SAYII1,' ',ISLEM,' ',SAYII2);YESIL;WRITELN(' = ',SAYII1-SAYII2);
  985. END;
  986. IF ISLEM='*' THEN BEGIN
  987. WRITELN(' Çarpma ');
  988. YESIL;
  989. WRITE('1.çarpìlacak sayì nedir :');SARI;READLN(SAYII1);
  990. YESIL;
  991. WRITE('2.çarpìlacak sayì nedir  :');SARI;READLN(SAYII2);
  992. BEYAZ;
  993. WRITE(SAYII1,' ',ISLEM,' ',SAYII2);YESIL;WRITELN(' = ',SAYII1*SAYII2);
  994. END;
  995. IF ISLEM='/' THEN BEGIN
  996. WRITELN(' Bölme  ');
  997. YESIL;
  998. WRITE('Hangi sayìyì böleceksiniz :');SARI;READLN(SAYII1);
  999. YESIL;
  1000. WRITE('Hangi sayìya böleceksiniz :');SARI;READLN(SAYII2);
  1001. BEYAZ;
  1002. WRITE(SAYII1,' ',ISLEM,' ',SAYII2);YESIL;WRITELN(' = ',SAYII1 DIV SAYII2);
  1003. END;
  1004. END;
  1005.  
  1006. PROCEDURE BREAKK;
  1007. VAR
  1008. QWERT:STRING;
  1009. BEGIN
  1010. HATA:=1;
  1011. YESIL;
  1012. GETCBREAK(BK);
  1013. WRITELN('BREAK durumu ',BR[BK]);
  1014. KIRMIZI;
  1015. WRITELN('BREAK `ì açmak için [A] kapamak için [K] hiçbirƒey içinse <┘(ENTER) `a basìn.');
  1016. QWERT:=READKEY;
  1017. IF QWERT='K' THEN SETCBREAK(TRUE);
  1018. IF QWERT='A' THEN SETCBREAK(FALSE);
  1019. IF QWERT='k' THEN SETCBREAK(TRUE);
  1020. IF QWERT='a' THEN SETCBREAK(FALSE);
  1021. SARI;
  1022. GETCBREAK(BK);
  1023. WRITELN('₧imdi BREAK durumu ',BR[BK]);
  1024. END;
  1025.  
  1026. PROCEDURE VIRUS_VARMI;
  1027. TYPE
  1028. TURKDOSBUF = ARRAY[0..6000] OF BYTE;
  1029. VAR
  1030. CEVX:STRING;
  1031. DEGI1:INTEGER;
  1032. TOP1,TOP2:WORD;
  1033. TURKBUF: TURKDOSBUF;
  1034. TURKEXE: FILE OF TURKDOSBUF;
  1035. BEGIN
  1036. ASSIGN(TURKEXE, PARAMSTR(0));
  1037. RESET(TURKEXE);
  1038. READ(TURKEXE,TURKBUF);
  1039. CLOSE(TURKEXE);
  1040. IF IORESULT <> 0 THEN BEGIN
  1041. WRITELN('HATA : Virus taramasì yapìlamìyor.');
  1042. EXIT;
  1043. END;
  1044. TOP1:=0;
  1045. TOP2:=0;
  1046. KIRMIZI;WRITE('Virüs taramasì : ');TEXTCOLOR(10);WRITELN('░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░');SARI;
  1047. FOR DEGI1:= 18 TO 73 DO  BEGIN
  1048. FOR TOP1:= 0 TO SIZEOF(TURKBUF) DO TOP2:=TOP2+TURKBUF[TOP1];
  1049. GOTOXY(DEGI1,19);
  1050. WRITELN('█');
  1051. END;
  1052. {DEGER = 13632}
  1053. IF TOP2<>24344 THEN BEGIN
  1054. TEXTCOLOR(WHITE+128);
  1055. WRITELN(PARAMSTR(0),' adlì dosyaya virüs bulaƒm샠olabilir.Ne yapìlacak ?');
  1056. YESIL;
  1057. WRITELN('1 - Bilgisayarì resetle   2 - Programdan çìk   3 - Devam et ');
  1058. REPEAT
  1059. CEVX:=READKEY;
  1060. UNTIL (CEVX='1') OR (CEVX='2') OR (CEVX='3');
  1061. IF CEVX='1' THEN INLINE($EA/0/0/0/$F0);
  1062. IF CEVX='2' THEN HALT(255);
  1063. IF CEVX='3' THEN BEGIN
  1064. WRITELN ('CHEKSUM TOPLAMI = ',TOP2);
  1065. SARI;
  1066. EXIT;
  1067. END;
  1068. END ELSE
  1069. SARI;
  1070. GOTOXY(74,19);
  1071. WRITELN('TAMAM.');
  1072. END;
  1073.  
  1074. PROCEDURE YARDIMET;
  1075. VAR
  1076. BKL:STRING;
  1077. BEGIN
  1078. SARI;
  1079. SIL;
  1080. WRITELN('Türk-dos YARDIM EKRANI :');
  1081. TEXTCOLOR(LIGHTGRAY);
  1082. WRITELN('------------------------');
  1083. WRITELN('SIL     : Ekranì siler.');
  1084. WRITELN('SISTEM  : Sistem bilgisini gösterir.');
  1085. WRITELN('CIK     : Programdan çìkar.');
  1086. WRITELN('HAFIZA  : Hafìza durumunu gösterir.');
  1087. WRITELN('ENV     : Ayarlarì gösterir.');
  1088. WRITELN('LISTE   : Dosyalarì listeler.');
  1089. WRITELN('LISTE/Y : Dosyalarì fazla bilgi vermeden listeler.');
  1090. WRITELN('LISTE/P : Dosyalarì ekran ekran listeler.');
  1091. WRITELN('SURUM   : Türk-dos sürümünü gösterir.');
  1092. WRITELN('ASCII   : AscII karakter ve numaralarìnì görüntüler.');
  1093. WRITELN('ETIKET  : Kullanìmda olan diskin etiketini görüntüler.');
  1094. WRITELN('DD      : Dizin deºiƒtirir.');
  1095. WRITELN('DS      : Dizin siler.');
  1096. WRITELN('DY      : Dizin yapar.');
  1097. WRITELN('DOS     : DOS komutlarìnì çalìƒtìrìr.');
  1098. WRITELN('DT      : Dosya siler.');
  1099. WRITELN('ID      : Dosya ismini deºiƒtirir.');
  1100. WRITELN('GOSTER  : Dosya içeriºini gösterir.');
  1101. WRITELN('SAAT    : Saati gösterir.');
  1102. WRITELN('SAATD   : Saati deºiƒtirir.');
  1103. BKL:=READKEY;
  1104. WRITELN('TARIH   : Tarihi gösterir.');
  1105. WRITELN('TARIHD  : Tarihi deºiƒtirir.');
  1106. WRITELN('KOPYA   : Dosya kopyalar.');
  1107. WRITELN('OYUN    : Küçük bir sayì oyunu.');
  1108. WRITELN('SD      : Sürücü deºiƒtirir.');
  1109. WRITELN('HESAP   : Hesap makinesi.');
  1110. WRITELN('KESME   : Break durumu ve deºiƒtirilmesi.');
  1111. WRITELN('CMOS    : Cmos yükleme ve kaydetme.');
  1112. END;
  1113.  
  1114. PROCEDURE RESIM;
  1115. {$S-}
  1116. VAR
  1117. RESIMX: RESIMBUF;
  1118. F: FILE OF RESIMBUF;
  1119. TTTT:STRING;
  1120. TTTTT:LONGINT;
  1121. BEGIN
  1122. KARTNE;
  1123. IF TIP<>'monokrom' THEN BEGIN
  1124. {$I-}
  1125. ASSIGN(F, 'TURKDOS.YEG');
  1126. RESET(F);
  1127. READ(F, RESIMX);
  1128. CLOSE(F);
  1129. {$I+}
  1130. IF IORESULT <> 0 then begin
  1131. WRITELN('TURKDOS.YEG grafik dosyasì bulunamadì.    ');
  1132. WRITELN('Açìl샠resmini geçmek için bir tuƒa basìn.');
  1133. TTTT:=READKEY;
  1134. EXIT;
  1135. END;
  1136. INLINE($B8/$13/0/$CD/$10);  { VGA 320 x 200 256  RENKK GRAFIK MODUNA GEC}
  1137. MOVE(RESIMX,MEM[$A000:0],53000);  {DOSYAYI EKRAN HAFIZASINA YERLESTIR.}
  1138. FOR TTTTT:=1 TO 999999 DO TTTTT:=TTTTT; {BIRAZ BEKLE}
  1139. INLINE($B8/$3/0/$CD/$10); {TEXT EKRANA DON}
  1140. END;
  1141. END;
  1142.  
  1143.  
  1144. BEGIN
  1145. IF PARAMSTR(1)='/R' THEN GOTO ATLAMA;
  1146. IF PARAMSTR(1)='/?' THEN BEGIN
  1147. WRITELN('TÜRK-DOS v2.0 (c) 1995 Yardìm :');
  1148. WRITELN('-------------------------------');
  1149. WRITELN('/R: Açìlìƒtaki resimin  görülmesini engeller.');
  1150. WRITELN('/?: Bu yardìm ekranìnì görülmesini saºlar.   ');
  1151. WRITELN;
  1152. END;
  1153. RESIM;
  1154. ATLAMA:
  1155. GETINTVEC(8,@ESKISI);     {EKRAN KOROYUCU INTERRUPTLARINI YERLESTIR.}
  1156. SETINTVEC(8,@EKRANKORU1);
  1157. GETINTVEC(9,@ESKISI2);
  1158. SETINTVEC(9,@EKRANKORU3);
  1159. KURSAKLA;
  1160. EKRANSAKLA;
  1161. KARTNE;
  1162. CLRSCR;
  1163. BEYAZZ;
  1164. KIRMIZI;
  1165. WRITE('[TÜRK-DOS] ');SIYAH;WRITELN('                                                                     ');
  1166. WRITELN;
  1167. SARI;
  1168. WRITELN;
  1169. SISTEM_NE;
  1170. YESIL;
  1171. WRITELN('________________________________________________________________________________');
  1172. SARI;
  1173. WINDOW(1,2,80,25);
  1174. GOTOXY(1,18);
  1175. WRITELN;
  1176. VIRUS_VARMI;
  1177. HATA:=0;
  1178. WRITELN('TÜRK-DOS V2.0 Kullanìma hazìr :');
  1179. DONGU:
  1180. GETDIR(0,DIZIN);  {GECERLI DIZIN VE SURUCU NE ? }
  1181. WRITE(DIZIN,'>>');READLN(KOMUT);
  1182. FOR PP := 1 to LENGTH(KOMUT) DO KOMUT[PP] := UpCase(KOMUT[PP]);
  1183. IF KOMUT='SIL'      THEN SIL;
  1184. IF KOMUT='SISTEM'   THEN SISTEM_NE2;
  1185. IF KOMUT='CIK'      THEN CIKIS;
  1186. IF KOMUT='HAFIZA'   THEN HAFIZA;
  1187. IF KOMUT='ENV'      THEN ENV;
  1188. IF KOMUT='LISTE/P'  THEN DIR;
  1189. IF KOMUT='LISTE/Y'  THEN DIR2;
  1190. IF KOMUT='LISTE'    THEN DIR3;
  1191. IF KOMUT='SURUM'    THEN VERSION;
  1192. IF KOMUT='ASCII'    THEN ASC;
  1193. IF KOMUT='ETIKET'   THEN ETI;
  1194. IF KOMUT='DD'       THEN DIZIND;
  1195. IF KOMUT='DY'       THEN DIZINY;
  1196. IF KOMUT='DS'       THEN DIZINS;
  1197. IF KOMUT='DOS'      THEN DOSS;
  1198. IF KOMUT='DT'       THEN DOSYAT;
  1199. IF KOMUT='ID'       THEN ISIMD;
  1200. IF KOMUT='GOSTER'   THEN GOS;
  1201. IF KOMUT='SAAT'     THEN SAATX;
  1202. IF KOMUT='TARIH'    THEN TARIH;
  1203. IF KOMUT='TARIHD'   THEN TARIHD;
  1204. IF KOMUT='SAATD'    THEN SAATD;
  1205. IF KOMUT='KOPYA'    THEN KOPYALA;
  1206. IF KOMUT='OYUN'     THEN SAYIOYUNU;
  1207. IF KOMUT='SD'       THEN SURUCUDEG;
  1208. IF KOMUT='HESAP'    THEN HESAPLA;
  1209. IF KOMUT='KESME'    THEN BREAKK;
  1210. IF KOMUT='CMOS'     THEN CMOSLOAD;
  1211. IF KOMUT='YARDIM'   THEN YARDIMET;
  1212. DOSYACA;
  1213. SAAT;
  1214. HATA_KONTROL;
  1215. GOTO DONGU;
  1216. END.